文章同步發表至 Medium
前面提到的幾種檔案,儲存的都是空間資料形式的資訊,但是對於我們人類來說,有沒有比較適合的讀取方式呢?
WKT 的全名叫做 Well Known Text,是由開放地理空間聯盟(OGC)所制定的一種純文本標記格式,在 GIS 上的用途有兩種:
以前學數學的時候都會先在平面上找到一個原點,接著分成四個象限,每個點都可以表示成 (x, y) 的格式,簡單來說 WKT 就是這樣的概念:在 GIS 中利用座標點的方式來表達這些地理資料。
最基本的表達方式就是點了,長的也最像數學中的座標:
// 逢甲大學校門口
POINT(120.6460828 24.1788242)
如果要表示一個面的話,可以利用半形逗號分隔兩組座標,要注意頭尾必須是同一組座標,因為一個面必須要是封閉的,寫起來會長成這樣:
// 逢甲大學
POLYGON((120.64632546792225 24.181915978232055,120.65186154732899 24.181915978232055,120.65186154732899 24.17647408179361,120.64632546792225 24.17647408179361,120.64632546792225 24.181915978232055))
有興趣的人可以利用線上的 Wicket 這個網站,把這些 WKT 畫在地圖上看看。
除了上面提到的兩種基本款,還有一個是線型的資料:
LINESTRING(120.64646168694328 24.181975397668435,120.64676209435295 24.17663138160287)
此外,有時候會需要多個面來組成一個完整的資料,例如離島地區的縣市範圍,這時候就可以使用 MultiPolygon:
// 西屯區的大學
MULTIPOLYGON(((120.65856381401848 24.182445190576466,120.66221161827873 24.182445190576466,120.66221161827873 24.1779820881151,120.65856381401848 24.1779820881151,120.65856381401848 24.182445190576466)),((120.64632546792225 24.181915978232055,120.65186154732899 24.181915978232055,120.65186154732899 24.17647408179361,120.64632546792225 24.17647408179361,120.64632546792225 24.181915978232055)))
有 MultiPolygon 當然也有 MultiLine 和 MultiPoint,但在應用上還是以 MultiPolygon 為主,這邊就不多做描述。
另外要提一個比較特別的例子:甜甜圈,也就是 Polygon 中間有個洞(Hole)。以台灣來說,新北市就是這樣的形狀:中間包著一個台北市,所以他的縣市範圍只有外面的一圈區域。這時候的表達方式就會像這樣:
POLYGON((120.64633294091057 24.181955822926394,120.6518690203173 24.181955822926394,120.6518690203173 24.1763377478608,120.64633294091057 24.1763377478608,120.64633294091057 24.181955822926394),(120.64813538536858 24.179743857734163,120.64937993035149 24.17809954017972,120.6504098986132 24.179861308177312,120.64813538536858 24.179743857734163))
呈現出來的樣貌: